Dans NumPy, Gestion de la précision consiste à sélectionner délibérément les profondeurs de bits afin d'équilibrer l'efficacité mémoire et la correction numérique. Contrairement aux entiers Python standards qui ont une précision arbitraire, NumPy utilise des types C de taille fixe (par exemple, int32_t, uint64_t).
1. La hiérarchie des types
Les types dtypes de NumPy définissent l'encombrement mémoire. Bien que np.int_() fournisse une taille dépendante de la plateforme, les systèmes robustes s'appuient sur Alias de taille fixe (Tableau : Page 34) pour garantir une cohérence sur toutes les architectures.
- Entiers :
int8_t,int16_t,int32_t,int64_t. - Non signés :
uint8_tàuint64_t. - Pointeurs :
intptr_t,uintptr_t.
2. Outils d'inspection
Avant d'exécuter des opérations arithmétiques, utilisez np.iinfo() et np.finfo() pour inspecter les limites. Par exemple, 1 + np.finfo(np.longdouble).eps identifie l'epsilon machine — le seuil au-delà duquel les additions n'ont plus d'effet sur la valeur.
3. Mécanismes des dépassements
NumPy ne lève pas d'erreurs en cas de dépassement ; il échoue silencieusement. En utilisant np.power(100, 8, dtype=np.int32) résulte en troncature, tandis que float64 passe à inf. Utilisez np.issubdtype(d, np.floating) pour valider les catégories avant les opérations.